/**
 * Created by Vector on 17/7/20.
 *
 * EventEmitter 的每个事件由一个事件名和若干个参数组成，事件名是一个字符串，通常表达一定的语义。
 * 对于每个事件，EventEmitter 支持 若干个事件监听器。
 * 当事件触发时，注册到这个事件的事件监听器被依次调用，事件参数作为回调函数参数传递。
 */

// 第一种方式
// var events = require('events');
// var emitter = new events.EventEmitter();


var EventEmitter = require('events').EventEmitter;
var event = new EventEmitter();


// 为event对象绑定 第一个 监听器
event.on('some_events',function (arg1,arg2) {
    console.log('监听器1',arg1,arg2);
});

// 为event对象绑定 第二个 监听器
event.on('some_events',function (arg1,arg2) {
    console.log('监听器2',arg1,arg2);
})

setTimeout(function () {
    event.emit('some_events','arg1参数','arg2参数');
},2000)

console.log('程序执行结束.')

/**
 * EventEmitter 提供了多个属性，如 on 和 emit。
 * on 函数用于绑定事件函数，emit 属性用于触发一个事件。
 */



